import App from './App'

// 网络请求库安装方法
// 官方地址: https://www.npmjs.com/package/@escook/request-miniprogram
// ①、安装方法
// npm init -y 初始化package配置文件
// 安装网络请求库
// npm install @escook/request-miniprogram

// 导入网络请求包
import {
	$http
} from '@escook/request-miniprogram'

// 在 uni-app 项目中，可以把 $http 挂载到 uni 顶级对象之上，方便全局调用
uni.$http = $http

// 请求根路径
$http.baseUrl = 'https://api-hmugo-web.itheima.net'

// 请求拦截器
$http.beforeRequest = function(options) {
	uni.showLoading({
		title: "数据加载中"
	})
}
// 响应拦截器
$http.afterRequest = function() {
	uni.hideLoading()
}

// 请注意 showLoading 与 hideLoading 必须配对使用
let loadingCount = 0

//显示页面加载中
function showLoading() {
	if (loadingCount === 0) {
		uni.showLoading({
			title: "数据加载中"
		})
	}
	loadingCount++
}

//隐藏页面加载中
function hideLoading() {
	loadingCount--
	if (loadingCount === 0) {
		uni.hideLoading()
	}
}

// 封装弹窗的方法
uni.$showMsg = function(title = "数据请求失败！", duration = 1500) {
	uni.showToast({
		title,
		duration,
		icon: 'none'
	})
}

// #ifndef VUE3
import Vue from 'vue'
import './uni.promisify.adaptor'
Vue.config.productionTip = false
App.mpType = 'app'
const app = new Vue({
	...App
})
app.$mount()
// #endif

// #ifdef VUE3
import {
	createSSRApp
} from 'vue'
export function createApp() {
	const app = createSSRApp(App)
	return {
		app
	}
}
// #endif